/**
 * 本文件简单演示封装针对不同功能模块需要与后端交互的接口调用方法封装
 */

// 导入封装的axios
import axios from "@/utils/http";
// 导入封装的接口地址
import * as baseURL from "@/api/url";

// 封装用户注册的接口
export const registerAPI = (data) => {
  return axios({
    url: baseURL.user_regist_url,
    method: "post",
    data,
  });
};

// 封装用户登录的接口
export const loginAPI = (data) => {
  return axios({
    url: baseURL.user_login_url,
    method: "post",
    data,
    // 由于axios默认数据是以json方式提交，如果需要采用普通表单方式提交，需要单独设置
    headers: { "content-type": "application/x-www-form-urlencoded" },
  });
};


// 封装根据ID获取用户数据接口
export const getUserByIdAPI = (params) => {
  return axios({
    url: baseURL.user_id_url,
    method: "get",
    params,
  });
};

// 封装根据多个ID获取用户数据接口
export const getUserByIdsAPI = (params) => {
  return axios({
    url: baseURL.user_ids_url,
    method: "get",
    params,
    // 假设提交的数据:id=1&id=2&id=3
    // 处理客户端提交一个key对应多个value数据
    // 若不处理：提交的数据格式将会为id[]=1&id[]=2&id[]=3 ，导致后台无法正确获取数据
    paramsSerializer: function (params) {
      return qs.stringify(params, { arrayFormat: "repeat" });
    },
  });
};